﻿using sipfe.Controllers.Base;
using sipfe.model.dataAccess;
using sipfe.service.mante;
using sipfe.service.nuevo;
using sipfe.util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace sipfe.Areas.Nuevo.Controllers
{
    public class Convocatoria_oldController : BaseSipfeController
    {
        string Titulo   =   "REGISTRO DE NUEVA CONVOCATORIA";
        
        public ActionResult IndexCab()
        {
            ViewBag.TITULO = Titulo;
            ViewBag.TipoConvocatoria    = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_CONVOCATORIA);
            ViewBag.PaisEmisor          = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent        = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            ViewBag.GrupoNIvelConvoca   = formaSelectGrupos(Constante.getInstance().N_IDE_GRUPO_NIVEL_CONVOCATORIA);
            ViewBag.ModalidadEstudio = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_MODALIDAD_ESTUDIO);

            
            return View("CovocatoriaInp");
        }

        public ViewResult FormaOptionConcepto(int nIdeNivelEstudio)
        {
            ViewBag.conceptos = formaSelectGrupos(nIdeNivelEstudio);
            return View();


        }

        [HttpPost]
        public ActionResult AddNuevaConvocatoria(SIPMaeConvocatoria sipMaeConvocatoria)
        {
            if (ModelState.IsValid)
            {
                string stringNIdeEmpresa    =   Request.Form["nIdeEmpresa"];
                string[] arrayEmpresas      =   stringNIdeEmpresa.Split(','); 
                string nombreTarifa         =   "nIdeTarifa_";
                string nombreNumBecas       =   "nNumeroBeca_";
                
               
                List<string> listaInstituto = new List<string>();
                Dictionary<int, string[]> dictionaryTarifa = new Dictionary<int, string[]>();
                for (int i = 0; i < arrayEmpresas.Length; i++)
                {                   
                    string reqNivelEstudio  = Request.Form[nombreTarifa + (i + 1)];
                    string reqNumBecas      = Request.Form[nombreNumBecas + (i + 1)];
                    String[] arrayHijos     = new String[2];

                    arrayHijos[0]           = reqNivelEstudio;
                    arrayHijos[1]           = reqNumBecas;
                    dictionaryTarifa.Add(Int32.Parse(arrayEmpresas[i]), arrayHijos);
                }                
                ConvocatoriaService cS = new ConvocatoriaService();
                String[] rpta = cS.AddNuevaConvocatoriaService(sipMaeConvocatoria, dictionaryTarifa);
                return RedirectToAction("NuevaConvocatoriaRpta", new { nIdeConvocatoria = rpta[0] });
            }
            llenaConbosConvo();
            return View("CovocatoriaInp", sipMaeConvocatoria);
        }

        public ViewResult NuevaConvocatoriaRpta(decimal nIdeConvocatoria)
        {
            ConvocatoriaService cS = new ConvocatoriaService();
            SIPMaeConvocatoria conv = new SIPMaeConvocatoria();
            conv = cS.findSIPMaeConvocatoriaByIdService(nIdeConvocatoria);
            return View(conv);
        }
        private void llenaConbosConvo(){
            ViewBag.TipoConvocatoria = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_CONVOCATORIA);
            ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            ViewBag.GrupoNIvelConvoca = formaSelectGrupos(Constante.getInstance().N_IDE_GRUPO_NIVEL_CONVOCATORIA);
            ViewBag.ModalidadEstudio = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_MODALIDAD_ESTUDIO);
        }
        public HtmlString verificaTarifaExiste(int nideEmpresa, int nideNivel, int nideConcepto,int nModalidad )
        {
            ConvocatoriaService cS = new ConvocatoriaService();
            //nideEmpresa: nideEmpresa, nideNivel: nideNivel, nideConcepto: nideConcepto, nModalidad: nModalidad
          //  decimal rpta = cS.verificaTarifaExisteService(nideEmpresa, nideNivel, nideConcepto, nModalidad);
            //var resultado = "{\"rpta\":" + rpta + "}";
            return null;
        }    




    }
}
